Correctly record multiple native dirs per package
This fixes a bug when a package's build script outputs multiple library search
paths. Because Compilation::native_dirs is a `HashMap<PackageId, PathBuf>` it
can only store one path per package. Currently if there are multiple paths,
all but the last will be inserted and then overwritten.
The key from this map is never used anyway, so this fixes the bug by changing
it from a HashMap to a HashSet.